home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / pressgen / ipxwan.txt < prev    next >
Text File  |  1993-04-10  |  26KB  |  470 lines

  1. M. Allen, Novell, Inc.
  2. September 1992
  3.  
  4.                Novell IPX Over Various WAN Media (IPXWAN)
  5.  
  6. 1. Introduction
  7. This document describes how Novell IPX operates over various WAN media.  
  8. Specifically, it describes the common "IPX WAN" protocol Novell uses to
  9. exchange necessary router to router information prior to exchanging
  10. standard IPX routing information and traffic over WAN datalinks.
  11. It is strongly motivated by a desire for IPX to treat ALL wide area links
  12. in the same manner.  Sections 3 and 4 describe this common "IPX WAN"
  13. protocol.  IPX WAN protocol operation begins immediately after link
  14. establishment.  While IPX is a connectionless datagram protocol, WANs are
  15. often connection oriented.  Different WANs have different methods of link
  16. establishment.  The subsections of section 1 of this document describe what
  17. link establishment means to IPX for different media.
  18. They also describe other WAN-media-dependent aspects of IPX operation, such
  19. as protocol identification, frame encapsulation, and link tear down.
  20.  
  21. 1.1 Operation Over PPP
  22. IPX uses PPP [1] when operating over point-to-point synchronous and
  23. asynchronous networks.
  24.  
  25. With PPP, link establishment means the IPX NCP [4] reaches the Open state.
  26. NetWare IPX will reject all NCP options, and uses normal frame 
  27. encapsulation as defined by PPP.  The IPXWAN protocol MUST NOT occur until
  28. the IPX NCP reaches the Open state.
  29.  
  30. PPP allows either side of a connection to stop forwarding IPX if one end
  31. sends an IPXCP or an LCP Terminate-Request.  When a router detects this, it
  32. will immediately reflect the lost connectivity in its routing information
  33. database instead of naturally aging it out.
  34.  
  35. 1.2 Operation over X.25 Switched Virtual Circuits
  36. With X.25, link establishment means successfully opening an X.25 virtual
  37. circuit.  As specified in RFC-1356, "Multiprotocol Interconnect on X.25 and
  38. ISDN in the Packet Mode" [2], the protocol identifier 0x800000008137 is
  39. used in the X.25 Call User Data field of the Call Request frame, and
  40. indicates that the virtual circuit will be devoted to IPX.
  41.  
  42. Furthermore, each IPX packet is encapsulated directly in X.25 data frame
  43. sequences without additional framing.
  44.  
  45. Either side of the virtual circuit may close it, thereby tearing down the
  46. IPX link.  When a router detects this, it will immediately reflect the lost
  47. connectivity in its routing information database instead of naturally aging
  48. it out.
  49.  
  50. 1.3 Operation over X.25 Permanent Virtual Circuits
  51. The nature of X.25 PVC's is that no call request is made.  When the router
  52. is informed that X.25 Layer 2 is up, the router should assume that link
  53. establishment is complete.
  54.  
  55. Each IPX packet is encapsulated in an X.25 data frame sequence without
  56. additional framing. Novell IPX assumes a particular X.25 permanent circuit
  57. is devoted to the use of IPX.
  58.  
  59. If a router receives a layer 2 error condition (e.g., X.25 Restart), it
  60. should reflect lost connectivity for the permanent circuits in its routing
  61. information database and re-perform the necessary steps to obtain a full
  62. IPX connection.
  63.  
  64. 1.4 Operation over Frame Relay
  65. Novell conforms to RFC-1294, "Multiprotocol Interconnect over Frame
  66. Relay" [3] for frame relay service and packet encapsulation.
  67. Currently, Novell has not stabilized the method for treating frame relay
  68. connections - whether they treat the connections as LANs or WANs.
  69.  
  70. 1.5 Operation over other WAN media
  71. Additional WAN media will be added here as specifications are developed.
  72.  
  73. 2. Glossary Of Terms
  74. Primary Network Number:
  75. Every IPX WAN router has a "primary network number". This is an IPX network
  76. number unique to the entire internet.  This number will be a permanently
  77. assigned network number for the router.
  78. Those readers familiar with NetWare 3.x servers should realize that this is
  79. the "Internal" network number.
  80.  
  81. Router Name:
  82. Every IPX WAN router must have a "Router Name".  This is a symbolic name
  83. given to the router. Its purpose is to allow routers to know who they are
  84. connected to after link establishment - particularly for network management
  85. purposes.  A symbolic name conveys more information to an operator than a
  86. set of numbers.  The symbolic name should be between 1 and 47 characters in
  87. length containing the characters 'A' through 'Z', underscore (_), hyphen
  88. (-) and "at" sign (@).  The string of characters should be followed by a
  89. null character (byte of zero) and padded to 48 characters using the null
  90. character.  Those readers familiar with NetWare 3.x servers should realize
  91. that the file server name is the Router Name.
  92.  
  93. 3. IPX WAN Protocol Description
  94. IPX WAN links have the concept of a LINK MASTER and a LINK SLAVE.
  95. This relationship is decided upon based on information contained within the
  96. first IPX packets transferred across the WAN link.
  97.  
  98. After link establishment, both sides of the link send "Timer Request"
  99. packets and start a timer waiting for a "Timer Response".  These "Timer
  100. Request" packets are sent every 20 seconds until a response is received or
  101. a time-out occurs trying to initialize a connection (the timer is restarted
  102. each time a new "Timer Request" is sent).  The time-out should be
  103. configurable, and is normally about one minute.
  104.  
  105. This is directly dependent on the call setup time for the connection.
  106. If a time-out occurs, the router issues a disconnect on the offending
  107. connection and optionally attempts to retry the connection.
  108.  
  109. When a "Timer Request" is received, the router with the lowest primary
  110. network number MUST respond with a "Timer Response" packet - and become the
  111. "Slave" of the link.  If the "Slave" determines that it cannot support any
  112. of the Routing Types included in the "Timer Request" packet, the "Slave"
  113. should issue a disconnect on the connection being established.  The
  114. "Master" of the link (determined when a "Timer Response" packet is
  115. received) is responsible for defining the network number that is to be used
  116. as a common network number for the new WAN link, and for calculating the
  117. RIP transport time that will be advertized to other RIP routers for the new
  118. link.  This is calculated by stopping the timer which was started when a
  119. "Timer Request" was initiated and applying the algorithm in section 4.2.
  120.  
  121. To allow this, both sides of the link MUST have an adequate pool of WAN
  122. network numbers (unique within the internetwork) available to be assigned
  123. to the link when the call is fully completed.  The "Master" of the link
  124. MUST then select a network number and construct an "Information Request"
  125. packet containing the calculated link delay, the common network number, and
  126. its own router name. On receiving this packet, the "Slave" MUST turn the
  127. packet around, overwrite the router name and node identifier and send an
  128. "Information Response".
  129.  
  130. After the "Master" has received the "Information Response" and the "Slave"
  131. has received the "Information Request", standard IPX RIP and SAP packets
  132. are transferred across the WAN link, as currently defined for LAN links.
  133. The "IPX Router Specification" [5] contains information describing the
  134. Novell RIP/SAP protocol for third party developers.
  135.  
  136. Note that the "Information Request" and "Information Response" packets are
  137. specific to the "Routing Type"=0 information exchanges.
  138.  
  139. With this routing type, no retransmission is made of any of the Information
  140. packets. If a response has not been received within the predefined time-out
  141. period, a disconnect is issued on the link, and the link can optionally be
  142. attempted later.
  143.  
  144. If a router detects an error for which no suitable protocol response exists
  145. (e.g., unable to allocate a network number), the link should be terminated
  146. according to the relevant media specification.
  147.  
  148. Under certain circumstances, particularly on X.25 permanent circuits, it is
  149. only possible to detect the remote router went away when it comes back up
  150. again.  In this case, one side of the link receives a Timer Request packet
  151. when IPX is in a fully connected state.  The side receiving the Timer
  152. Request MUST realize that a problem occurred, and revert to the IPX link
  153. establishment phase.  Furthermore, the routing information learned from
  154. this connection should be immediately discarded.
  155.  
  156. 4. Information Exchange Packet Formats
  157. All IPX WAN information exchange packets conform to the standard Novell IPX
  158. packet format. The packets use the IPX defined packet type 04 defining a
  159. Packet Exchange Packet. The socket number 0x9004 is a Novell reserved
  160. socket number for exclusive use with IPX WAN information exchange. IPX
  161. defines that a network number of 0 is interpreted as being a local network
  162. of unknown number that requires no routing.  This feature is of use to us
  163. in transferring these packets before the common network number is
  164. exchanged. Some routers need to know a "Node Number" (or MAC address) for
  165. each node on a link. Node numbers will be formed from the "WNode ID" field. 
  166. The node number will be the 4 bytes of WNode ID followed by 2 bytes of
  167. zero.
  168.  
  169. Router Type number assignment.  Other vendors IPX routing protocols can
  170. make use of the IPXWAN protocol definition by obtaining Router Types from
  171. Novell. This document will then include the new Router Types (with the
  172. references to vendor protocol description documents).
  173.  
  174. WOption Number assignment. These numbers only need to be assigned from
  175. Novell for the "Timer Request" and "Timer Response" packets.  Other packet
  176. types (e.g., the "Information Request" packets, are dependent on the
  177. "Router Type" negotiated and can contain any (vendor defined) packet type
  178. other than 0 or 1. WOption numbers in these packets are then defined by the
  179. vendor defining the Routing Type.  The same packet format should still be
  180. maintained.
  181.  
  182. 4.1 Timer Request Packet
  183.    +---------------------------------------------------------------+
  184.    | Checksum         | FF FF             | Always FFFF            |
  185.    | Packet Length    | 02 40             | Max IPX size (576 bytes|
  186.    |                  |                   | Hi Lo order)           |
  187.    | Trans Control    | 00                | Hops traversed         |
  188.    | Packet Type      | 04                | Packet Exchange Packet |
  189.    | Dest Net #       | 00 00 00 00       | Local Network          |
  190.    | Dest Node #      | FF FF FF FF FF FF | Broadcast              |
  191.    | Dest Socket #    | 90 04             | Reserved WAN socket    |
  192.    | Source Net #     | 00 00 00 00       | Local Network          |
  193.    | Source Node #    | 00 00 00 00 00 00 | Set to zero            |
  194.    | Source Socket #  | 90 04             | Reserved WAN socket    |
  195.    |------------------+-------------------+------------------------|
  196.    | WIdentifier      | 57 41 53 4D       | Confidence identifier  |
  197.    | WPacket Type     | 00                | Timer Request          |
  198.    | WNode ID         | xx xx xx xx       | Primary Net # of       |
  199.    |                  |                   | sending router         |
  200.    |                  |                   | (Hi Lo order)          |
  201.    | WSequence #      | xx                | Sequence start at 0    |
  202.    | WNum Options     | 02                | 2 Options follow       |
  203.    | WOption Number   | 00                | Define Routing Type    |
  204.    | WAccept Option   | 01                | 0=No,1=Yes,3=Not Applic|
  205.    | WOption Data Len | 00 01             | Option length (Hi Lo)  |
  206.    | WOption Data     | 00                | IPX RIP/SAP Routing    |
  207.    | WOption Number   | FF                | Pad option             |
  208.    | WAccept Option   | 01                | 0=No,1=Yes,3=Not Applic|
  209.    | WOption Data Len | 02 0E             | Pad data length (Hi Lo)|
  210.    | WOption Data     | 00->FF's          | Repeated sequence of 00|
  211.    |                  |                   | through FF's.          |
  212.    +---------------------------------------------------------------+
  213.  
  214. NOTE:
  215. Timer Request packets will always be 576 bytes.  However, there should be
  216. no assumption made about the number of options specified in this packet.
  217. After link establishment, Timer Request packets are sent by both sides of
  218. the link. Each end starts their sequence number at zero. Subsequent retries
  219. (every 20 seconds) will increment the value of this sequence number.  Only
  220. a Timer Response packet with a sequence number matching the last sent
  221. sequence number will be acted upon.
  222.  
  223. When receiving this packet, the WNode ID should be compared to the
  224. receiver's Primary Network #. If the WNode ID is larger than the receiver's
  225. Primary Network #, a Timer Response packet should be sent, and the receiver
  226. should become the link "Slave".
  227.  
  228. Packets received on the reserved socket number not having the WIdentifier
  229. set to the hexadecimal values noted above should be discarded.
  230.  
  231. Routing Type Option:
  232. A routing type of zero (0) is the minimum interoperability requirement (as
  233. defined by this document). A router ready to send a Timer Response (and
  234. receiving a routing type of zero) MUST respond with a routing type of zero.
  235. A router ready to send a Timer Response (and receiving routing types not
  236. matching a supported value) SHOULD respond with a Routing Type of zero
  237. indicating support for the minimum common protocol.
  238.  
  239. Note that multiple Routing Type Options can be included in the Timer
  240. Request packet if the router supports multiple routing methods for IPX. 
  241. The included Router Types MUST include and support this type zero option.
  242.  
  243. Accept Option (for Routing Type and PAD options):
  244. This field MUST be set to YES if the option is supported, and NO if an
  245. option is not supported. A Timer Response MUST respond with ONLY one Router
  246. Type set to YES.
  247.  
  248. PAD Option:
  249. This option will normally be the last entry in the packet.  Its sole
  250. purpose is to fill the IPX packet to be 576 bytes.  The pad option data
  251. will contain a repeating sequence of zero's through 0xFF's.  This should
  252. stop compression modems from collapsing the packet and destroying the link
  253. delay calculation.
  254.  
  255.    Currently Assigned WOption Numbers (Timer Request Packet):
  256.        Routing Type Option = 0x00;     Option Length = 0001
  257.            Current option data values:
  258.                0       Novell RIP/SAP routing with network
  259.                        number assigned to the link.
  260.  
  261.        PAD Type Option     = 0xFF;     Option Length = Variable
  262.  
  263.        Compression Option  = 0x80;     Option Length = Variable
  264.                          (length dependent on compression type)
  265.            Current option data values:
  266.                Byte 1  Compression type
  267.                    0 = Telebit compression (length=3) [6]
  268.                    Telebit Byte 2 - Compression options
  269.                    Telebit Byte 3 - Number compression slots
  270.  
  271. 4.2. Timer Response Packet
  272.    +---------------------------------------------------------------+
  273.    | Checksum         | FF FF             | Always FFFF            |
  274.    | Packet Length    | 02 40             | Max IPX size (576 bytes|
  275.    |                  |                   | Hi Lo order)           |
  276.    | Trans Control    | 00                | Hops traversed         |
  277.    | Packet Type      | 04                | Packet Exchange Packet |
  278.    | Dest Net #       | 00 00 00 00       | Local Network          |
  279.    | Dest Node #      | FF FF FF FF FF FF | Broadcast              |
  280.    | Dest Socket #    | 90 04             | Reserved WAN socket    |
  281.    | Source Net #     | 00 00 00 00       | Local Network          |
  282.    | Source Node #    | 00 00 00 00 00 00 | Set to zero            |
  283.    | Source Socket #  | 90 04             | Reserved WAN socket    |
  284.    |------------------+-------------------+------------------------|
  285.    | WIdentifier      | 57 41 53 4D       | Confidence identifier  |
  286.    | WPacket Type     | 01                | Timer Response         |
  287.    | WNode ID         | xx xx xx xx       | Primary Net # of       |
  288.    |                  |                   | sending router         |
  289.    |                  |                   | (Hi Lo order)          |
  290.    | WSequence #      | xx                | Same as Timer Request  |
  291.    |                  |                   | received               |
  292.    | WNum Options     | 02                | 2 Options follow       |
  293.    | WOption Number   | 00                | Define Routing Type    |
  294.    | WAccept Option   | 01                | 0=No,1=Yes,3=Not Applic|
  295.    | WOption Data Len | 00 01             | Option length (Hi Lo)  |
  296.    | WOption Data     | 00                | IPX RIP/SAP Routing    |
  297.    |                  |                   | (Minimum interoperating|
  298.    |                  |                   | requirement). Others   |
  299.    |                  |                   | may be defined by at a |
  300.    |                  |                   | later date by Novell   |
  301.    | WOption Number   | FF                | Pad option             |
  302.    | WAccept Option   | 01                | 0=No,1=Yes,3=Not Applic|
  303.    | WOption Data Len | 02 0E             | Pad data length (Hi Lo)|
  304.    | WOption Data     | 00->FF's          | Repeated sequence of 00|
  305.    |                  |                   | through FF's to stop   |
  306.    |                  |                   | compression modems     |
  307.    |                  |                   | doing any compression  |
  308.    |                  |                   | for link delay calc.   |
  309.    +---------------------------------------------------------------+
  310.  
  311. The responses contained within this packet are as described in section 4.1.
  312. Any unknown options or not supported options from the Timer Request should
  313. have the WAccept Option set to NO.
  314.  
  315. If the Timer Request packet contained more than one Router Type option and
  316. the "Slave" supports all the options, the "Slave" should set the WAccept
  317. Option to NO on all Router Types except the Routing
  318.  
  319. Type which is to be adopted. The "Master" of the link will then adopt the
  320. routing option specified with the YES setting and complete further
  321. information exchanges according to that routing standard.
  322.  
  323. This packet should contain the same sequence number as the received Timer
  324. Request.  This packet should ONLY be sent by the router determining
  325. themselves to be the "Slave" of the link.
  326.  
  327. Currently Assigned WOption Numbers (Timer Response Packet):
  328.        Routing Type Option = 0x00;     Option Length = 0001
  329.            Current option data values:
  330.               0       Novell RIP/SAP routing with network
  331.                       number assigned to the link.
  332.  
  333.        PAD Type Option     = 0xFF;     Option Length = Variable
  334.  
  335.        Compression Option  = 0x80;     Option Length = Variable
  336.                          (length dependant on compression type)
  337.            Current option data values:
  338.                Byte 1  Compression type
  339.                    0 = Telebit compression (length=3) [6]
  340.                    Telebit Byte 2 - Compression options
  341.                    Telebit Byte 3 - Number compression slots
  342.  
  343.  
  344. 4.3. RIP/SAP Information Request Packet (Router Type=0 Only)
  345.    +---------------------------------------------------------------+
  346.    | Checksum         | FF FF             | Always FFFF            |
  347.    | Packet Length    | 00 63             | Size of header+data    |
  348.    |                  |                   | (Hi Lo order)          |
  349.    | Trans Control    | 00                | Hops traversed         |
  350.    | Packet Type      | 04                | Packet Exchange Packet |
  351.    | Dest Net #       | 00 00 00 00       | Local Network          |
  352.    | Dest Node #      | FF FF FF FF FF FF | Broadcast              |
  353.    | Dest Socket #    | 90 04             | Reserved WAN socket    |
  354.    | Source Net #     | 00 00 00 00       | Local Network          |
  355.    | Source Node #    | 00 00 00 00 00 00 | Set to zero            |
  356.    | Source Socket #  | 90 04             | Reserved WAN socket    |
  357.    |------------------+-------------------+------------------------|
  358.    | WIdentifier      | 57 41 53 4D       | Confidence identifier  |
  359.    | WPacket Type     | 02                | Information Request    |
  360.    | WNode ID         | xx xx xx xx       | Primary Net # of       |
  361.    |                  |                   | sending router         |
  362.    |                  |                   | (Hi Lo order)          |
  363.    | WSequence #      | 00                | Sequence start at 0    |
  364.    | WNum Options     | 01                | 1 Option to follow     |
  365.    | WOption Number   | 01                | Define IPX RIP/SAP     |
  366.    |                  |                   | info exchange          |
  367.    | WAccept Option   | 01                | 0=No,1=Yes,3=Not Applic|
  368.    | WOption Data Len | 00 36             | Option length (Hi Lo)  |
  369.    | WOption Data     |                   |                        |
  370.    |  Link Delay      | xx xx             | Hi Lo link delay in    |
  371.    |                  |                   | milli seconds (see     |
  372.    |                  |                   | below for calculation) |
  373.    |  Common Net #    | xx xx xx xx       | Hi Lo Common Network # |
  374.    |  Router Name     | xx (x 48 decimal) | Router name - as defned|
  375.    |                  |                   | in section 2.          |
  376.    +---------------------------------------------------------------+
  377.  
  378. Calculation of link delay is performed as follows:
  379.    // Start_time is a time stamp when Timer Request sent out
  380.    // End_time is a time stamp when a Timer Response is
  381.    // received.
  382.    link_delay = end_time - start_time; // 1/18th second
  383.    // We are on a slow net, so add some biasing to help stop
  384.    // multiple workstation sessions timing out on the link
  385.    if (link_delay < 1)
  386.    {
  387.        link_delay = 1;
  388.    }/*IF*/
  389.    link_delay *= 6;   // Add the biasing
  390.    link_delay *= 55;  // Convert link delay to milliseconds
  391.  
  392. The "Link Delay" is used as the network transport time when advertized in
  393. the IPX RIP packet tuple for the network entry "Common Net #". For a
  394. consistent network, a common link delay is required at both ends of the
  395. link and is calculated by the link "Master".
  396.  
  397. The Common Net # is supplied by the link "Master".  This number must be
  398. unique in the connected internetwork. Each WAN call requires a separate
  399. number.
  400.  
  401. Currently only a single option is defined for the "Information Request"
  402. packet for Routing Type=0.
  403.  
  404.  
  405. 4.4. RIP/SAP Information Response Packet (Router Type=0 Only)
  406.    +---------------------------------------------------------------+
  407.    | Checksum         | FF FF             | Always FFFF            |
  408.    | Packet Length    | 00 63             | Size of header+data    |
  409.    |                  |                   | (Hi Lo Order)          |
  410.    | Trans Control    | 00                | Hops traversed         |
  411.    | Packet Type      | 04                | Packet Exchange Packet |
  412.    | Dest Net #       | 00 00 00 00       | Local Network          |
  413.    | Dest Node #      | FF FF FF FF FF FF | Broadcast              |
  414.    | Dest Socket #    | 90 04             | Reserved WAN socket    |
  415.    | Source Net #     | 00 00 00 00       | Local Network          |
  416.    | Source Node #    | 00 00 00 00 00 00 | Set to zero            |
  417.    | Source Socket #  | 90 04             | Reserved WAN socket    |
  418.    |------------------+-------------------+------------------------|
  419.    | WIdentifier      | 57 41 53 4D       | Confidence identifier  |
  420.    | WPacket Type     | 03                | Information Response   |
  421.    | WNode ID         | xx xx xx xx       | Primary Net # of       |
  422.    |                  |                   | sending router         |
  423.    |                  |                   | (Hi Lo order)          |
  424.    | WSequence #      | 00                | Sequence start at 0    |
  425.    | WNum Options     | 01                | 1 Option to follow     |
  426.    | WOption Number   | 01                | Define IPX RIP/SAP     |
  427.    |                  |                   | info exchange          |
  428.    | WAccept Option   | 01                | 0=No,1=Yes,3=Not Applic|
  429.    | WOption Data Len | 00 36             | Option length (Hi Lo)  |
  430.    | WOption Data     |                   |                        |
  431.    |  Link Delay      | xx xx             | Hi Lo link delay (as   |
  432.    |                  |                   | received in Info Requ) |
  433.    |  Common Net #    | xx xx xx xx       | Hi Lo Common Network # |
  434.    |                  |                   | (as received in Info   |
  435.    |                  |                   | request)               |
  436.    |  Router Name     | xx (x 48 decimal) | Router name - as defned|
  437.    |                  |                   | in section 2.          |
  438.    +---------------------------------------------------------------+
  439.  
  440.    The responses contained within this packet are as described in
  441.    section 4.3.
  442.  
  443. 5. References
  444. [1] Simpson, W., "The Point-to-Point Protocol (PPP) for the Transmission of
  445. Multi-protocol Datagrams over Point-to-Point Links", RFC 1331, May 1992.
  446.  
  447. [2] Malis, A., Robinson, D., and R. Ullman, "Multiprotocol Interconnect on
  448. X.25 and ISDN in the Packet Mode", RFC 1356, August 1992.
  449.  
  450. [3] Bradley, T., Brown, C., and A. Malis, "Multiprotocol Interconnect
  451. over Frame Relay", RFC 1294, January 1992.
  452.  
  453. [4] Simpson, W., "The PPP Internetwork Packet Exchange Control Protocol
  454. (IPXCP) Compromise Version", Work in Progress.
  455.  
  456. [5] Novell IPX Router Specification. Novell Part Number 107-000029-001.
  457. (Note:  Currently, this document is only available as part of a Novell
  458. developers program as part of an SDK. Novell Labs, Provo (UT) should be
  459. able to provide more information on this document.)
  460.  
  461. [6] Lewis, M., Telebit Corp. "IPX Header Compression based on Van Jacobson
  462. Header Compression for TCP/IP", Work in Progress, contact:
  463. (mlewis@telebit.com).
  464.  
  465. Author's Address
  466.      Michael Allen
  467.      Novell, Inc.
  468.      2180 Fortune Drive
  469.      San Jose, CA 95131
  470.      EMail: MALLEN@NOVELL.COM